Towards Certified Slicing

نویسنده

  • Daniel Wasserrab
چکیده

Slicing is a widely-used technique with applications in e.g. compiler technology and software security. Thus verification of algorithms in these areas is often based on the correctness of slicing, which should ideally be proven independent of concrete programming languages and with the help of well-known verifying techniques such as proof assistants. As a first step in this direction, this contribution presents a framework for dynamic [2] and static intraprocedural slicing [1] based on control flow and program dependence graphs. Abstracting from concrete syntax we base the framework on a graph representation of the program fulfilling certain structural and well-formedness properties. We provide two instantiations to show the validity of the framework: a simple While language and the sophisticated object-oriented byte code language from Jinja [3]. 0.1 Auxiliary lemmas theory AuxLemmas imports Main begin abbreviation arbitrary == undefined Lemmas about leftand rightmost elements in lists lemma leftmost-element-property : assumes ∃ x ∈ set xs. P x obtains zs x ′ ys where xs = zs@x ′#ys and P x ′ and ∀ z ∈ set zs. ¬ P z 〈proof 〉 lemma rightmost-element-property : assumes ∃ x ∈ set xs. P x obtains ys x ′ zs where xs = ys@x ′#zs and P x ′ and ∀ z ∈ set zs. ¬ P z 〈proof 〉 Lemma concerning maps and @

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards Probabilistic Program Slicing

This paper outlines the concept of probabilistic program slicing. Whereas conventional slicing removes statements that cannot affect the slicing criterion, probabilistic slicing also removes statements that are unlikely to affect the criterion. The paper presents a simple example before describing some algorithmic concerns. Then three motivating applications are described. Finally it highlights...

متن کامل

Towards Locating a Functional Concern Based on a Program Slicing Technique

A functional concern is often implemented by collaborative software modules. When developers modify or reuse the implementation of a concern, they need to find the module units contributing to the concern and understand how the units collaborate with one another. Although program slicing is an automatic method to extract relationship among program elements in modules, slicing often results in m...

متن کامل

Abstract Program Slicing: From Theory towards an Implementation

Program Slicing: From Theory towards an Implementation Isabella Mastroeni and Ðurica Nikolić Dipartimento di Informatica, Università di Verona, Italy [email protected], [email protected] Abstract. In this paper we extend the formal framework proposed by Binkley et al. for representing and comparing forms of program slicing. This framework describes many well-known forms of slic...

متن کامل

Towards Slicing Communicating Extended Automata

Slicing is a well-established program analysis technique that has applications in debugging, program understanding and model reduction. This paper presents an approach to slicing formal specifications based on communicating extended automata.

متن کامل

Towards a Formal Semantics-Based Technique for Interprocedural Slicing

Interprocedural slicing is a technique applied on programs with procedures which relies on how the information is passed at procedure call/return sites. Such a technique computes program slices (i.e. program fragments restricted w.r.t. a given criterion). The existing approaches to interprocedural slicing exploit the particularities of the underlying language semantics in order to compute progr...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Archive of Formal Proofs

دوره 2008  شماره 

صفحات  -

تاریخ انتشار 2008